package com.lyf.emall.service;

import com.lyf.emall.bean.Page;
import com.lyf.emall.bean.ProductList;
import com.lyf.emall.bean.ProductType;
import com.lyf.emall.bean.ResponseResult;

/**
 * @Description:商品service
 * @Author Lfy
 * @Date 2022/3/1-15:02
 */
public interface ProductService {

    /**
     * 获得商品分类的根分类
     * @return
     */
    ResponseResult getRootProductType();

    /**
     * 获得某个父分类下的所有子分类
     * @param parentId
     * @return
     */
    ResponseResult getChildrenProductType(Integer parentId);

    /**
     * 添加根分类
     * @param productType
     * @return
     */
    ResponseResult addRootProductType(ProductType productType);

    /**
     * 添加其他分类
     * @param productType
     * @return
     */
    ResponseResult addOtherProductType(ProductType productType);

    /**
     * 添加商品分类
     * @param productList
     * @return
     */
    ResponseResult addProduct(ProductList productList);

    /**
     * 分页显示数据
     * @param page
     * @return
     */
    ResponseResult showProduct(Page page);

    /**
     * 修改商品状态
     * @param productId
     * @param status
     * @return
     */
    ResponseResult updateProductStatus(Integer productId, Integer status);

    /**
     * 修改商品信息
     * @param productList
     * @return
     */
    ResponseResult updateProduct(ProductList productList);

    /**
     * 根据商品名查商品
     * @param productName
     * @return
     */
    ResponseResult getProductByProductName(String productName, Page page);

    /**
     * 根据商品分类查询商品信息
     * @param typeId
     * @return
     */
    ResponseResult getProductByTypeId(Integer typeId, Page page);
}
